Перепрошивка микросхем периферийных устройств часто интересует юзеров. Сегодня мы расскажем тебе, как перепрошить BIOS видеокарты и развеем некоторые сомнения и мифы относительно замены микропрограммы видеоадаптера.
ЧТО ТАКОЕ ПЕРЕПРОШИВКА?
Многие из читателей, наверняка, имели дело с BIOS'ом (Basic Input/Output System – основная система ввода/вывода) мат. платы, или хотя бы знают, что он на ней имеется, и примерно представляют, зачем он нужен. Как и операционная система, BIOS может быть удален и записан снова. Этот процесс называется "перепрошить BIOS". Раньше перепрошивка BIOS'а была невозможна: микросхемы записывались один раз при производстве. Сменить BIOS можно было только с помощью специальных программаторов, что было доступно немногим. Но с удешевлением и широким распространением Flash-памяти, BIOS стали выполнять на ней, что позволило простым смертным, вооружившись определенными знаниями, осуществлять эту ранее недоступную процедуру. В настоящий момент BIOS видеокарт также выполняется на Flash Memory. Микросхемы соответствуют стандартам VESA (Video Electronics Standards Association – Ассоциация по стандартам в области видеоэлектроники) и маркируются VESA BIOS.
ИЗ ИСТОРИИ ПАМЯТИ
Итак, первой появилась ROM (Read Only Memory – память только для чтения) – это энергонезависимая память, и поэтому подходит для хранения BIOS. Вся память, на основе которой реализован BIOS, – энергонезависимая, иначе код микропрограммы, необходимый для начала работы устройства, будет уничтожаться при отключении питания. Так как доступ к RAM (оперативная память) осуществляется намного быстрее, многие производители предусматривали при включении питания автоматическое копирование BIOS из ROM в оперативную память. Такой подход называется кэшированием BIOS'a; область оперативной памяти, задействованная при этом, называется Shadow ROM (теневая ПЗУ).
Затем появилась PROM (Programmable Read Only Memory - программируемая ROM) – так же, как и раньше, данные могут быть записаны только однократно. Отличие от ROM в том, что PROM изначально производится "чистым", в то время как в ROM данные заносятся в процессе ее производства.
В 1971 году Intel выпускает EPROM (Erasable Programmable Read Only Memory – стираемая программируемая ROM) – специальный тип PROM, который может стираться с использованием ультрафиолетовых лучей и перезаписываться заново.
Далее появляется EEPROM (Electrically Erasable Programmable ROM – электрически стираемая программируемая ROM) – отличается от предшественницы тем, что операции стирания-записи производятся электрическим сигналом.
И, наконец, компанией Toshiba в 1984 году разрабатывается Flash-memory, или Flash EEPROM, (далее во многих программах будет употребляться просто EEPROM, но подразумевается именно Flash EEPROM). В настоящее время большинство современных видеокарт комплектуются микросхемами Flash EEPROM, на которые и записан BIOS, код которого может быть перезаписан много раз с помощью специальной программы - прошивальщика.
Кстати, даже сейчас некоторые видеокарты имеют непрошиваемый BIOS. Достаточно часто вместо Flash EEPROM для хранения BIOS используется простой EEPROM (делается это в целях экономии). Чтобы точно узнать, какой у тебя вид памяти для хранения BIOS, надо вытащить карту из корпуса и посмотреть маркировку микросхемы. Если встретил цифру "27", то, скорее всего, это не Flash. У разных производителей она расположена по-разному, например у nVidia эта цифра должна быть в начале маркировки: 27xx.
Есть два пути решения этой проблемы. Первый для тех, кто умеет обращаться с паяльником и готов купить новую микросхему для замены EEPROM на Flash EEPROM. Более подробно читай в этих статьях: для карт nVidia - http://www.nvworld.ru/docs/bios_flash.html, для карт ATI - http://www.radeon2.ru/articles/01_06_02/page_1.html. Однако это не самый удачный способ. Современные платы имеют очень высокую плотность интеграции элементов, поэтому велика вероятность испортить девайс. Лучше отказаться от замены BIOS'а. Но если все же возникают серьезные проблемы, то стоит воспользоваться вторым способом, о котором будет рассказано ниже.
ЗАЧЕМ?
Во всех статьях о перепрошивке BIOS'а один из самых больших пунктов - "причины, по которым стоит прошивать BIOS". Авторы в один голос почему-то пытаются отговорить от этой операции, хотя на самом деле перепрошить BIOS не так сложно. Но мы не будем нарушать традицию...
Итак, вернемся к причинам, которые могут побудить перепрошить BIOS:
1. Конфликты и мелкие ошибки при работе с конкретной конфигурацией. Глобальные недостатки, как правило, исправляются на стадии тестирования. В основном, ошибки в BIOS'е проявляются для узкого круга пользователей, но для них они могут быть очень серьезными. Например: Fix the system cant boot to Windows 2000 after 3DLabs Wildcat VP760 XGA card driver (v3.01.0181) is installed (прошивка устраняет ошибку, когда Windows2000 не может загрузиться после установки "3DLabs Wildcat VP760 XGA card driver (v3.01.0181)").
2. Некоторым пользователям часто хватает и того факта, что вышла новая прошивка, которая, кстати, может несколько повысить производительность. Вообще, всегда надо использовать для перепрошивки последнюю официальную прошивку. Самая веская причина - безопасность, так как, если есть официальная прошивка, есть и официальный прошивальщик.
3. Желание добавить поддержку SBA (Side-Band Addressing - адресация по побочной шине) - дополнительная 8-битная адресация, встроенная в AGP, что, попросту говоря, позволяет AGP-видеокарте запрашивать информацию через SBA и в то же время получать 32-битный поток данных через саму шину AGP. Благодаря этому, видеокарта получает по шине AGP 20 байт за 4 такта вместо 16 без Side-Band Addressing. Бытует мнение, что это приводит к нестабильности, но на самом деле все зависит только от карты и материнской платы: в одной конфигурации SBA работает плохо, а в другой - нормально. К примеру, на всех картах AGP 8x SBA включена, и выключить ее нельзя, так как она предполагается по спецификации самого AGP 8x.
А также желание добавить поддержку FastWrites. FW - процесс передачи данных от процессора к видеокарте напрямую, минуя системную шину. Увеличивает производительность. Насчет нестабильности справедливо то же, что и для SBA.
4. Изменение параметров:
4.1. Многие для разгона карты используют твикер, который при каждом старте компьютера меняет необходимые параметры видеокарты. Однако можно просто перепрошить видеокарту, чтобы твикер не занимал место в ОЗУ. Для некоторых моделей, например на основе GeForce/GeForce2, тем не менее, существует твикер, который способен разгонять видеоадаптер без перепрошивки BIOS'а и без постоянного нахождения в оперативной памяти. Но если ты используешь *nix-подобную ОС, то перепрошивка - это твой путь к счастью, так как под *nix еще очень мало твикеров.
4.2. Смена информации о видеокарте, прошитой в BIOS'е (название BIOS'а, Sub Vendor ID и т.д.). Чаще всего это желание выделиться. Юзеры делают из своей noname карты последнюю модель GeForce4 или меняют название фирмы-производителя на что-то типа "Vasya Pupkin The XAKEP" (соответствующая надпись выводится на дисплей при загрузке компьютера). Вот, посмотри, к примеру, что выдавала наша тестовая видеоплата до перепрошивки, и что стало потом. Не самая веская причина, но самая популярная :).
4.3. Добавить поддержку русских шрифтов в BIOS.
МЕРЫ ПРЕДОСТОРОЖНОСТИ
В данной статье описан пример перепрошивки ASUS v7700 GF2GTS (на чипсете nVidia). Для плат других производителей процесс будет похожим. Найти софт для других видеоадаптеров тебе помогут ссылки на врезке.
Приступим к практике. В первую очередь нужно помнить о безопасности. Во-первых, необходимо записать в файл уже имеющийся BIOS из памяти. Это можно сделать при помощи утилиты NVIDIA BIOS Editor aka RVBEdit из-под Windows (также можно использовать GF123 BIOS Edit). Программа прочтет BIOS всех видеокарт линейки nVidia, за исключением TNT и TNT2. Для этих видеокарт есть другая утилита – TNT BIOS Editor. Для девайсов ATI тоже имеются такие утилиты, а вот для менее популярных видеоадаптеров софт придется поискать. Скорей всего, функцию чтения BIOS'a в файл имеет сам прошивальщик. Попробуй поискать его на официальном сайте производителя или написать в службу поддержки. Также не стоит недооценивать форумы.
Возвращаемся к BIOS Editor'у. Скачивай его (700 Kb) отсюда: http://www.nvworld.ru/docs/bios_utils.html. Там же находится и TNT BIOS Editor. Инсталлируй и запускай. В опциях надо выбрать русский язык. Нажми на стрелочку возле кнопки "Открыть" и выбирай пункт "Прочесть и сохранить в файл". Мы сохраняли BIOS в файл с именем old.rom (примерно 40 Kb). В этом файле находится полная копия (бинарник) той микропрограммы, что вшита в данный момент в Flash EEPROM. Кстати, расширение ".rom" ни о чем не говорит, как и расширение ".bin" - главное то, что внутри.
ПРОВЕРКА ПРОШИВАЛЬЩИКА
Итак, мы сделали backup старой версии BIOS'а. Уже на этом этапе важно выбрать прошивальщик, так как именно он должен будет перепрошить обратно старую копию BIOS'а, если вдруг что-то пойдет не так. Как мы уже сказали, для карт ATI и nVidia найти прошивальщик ничего не стоит, а вот владельцам устройств других производителей надо зайти на официальный сайт или форум. Итак, для nVidia забираем nvFlash (референс-прошивальщик BIOS'а) тут: http://www.nvworld.ru/docs/bios_utils.html. Внизу страницы будет соответствующая ссылка.
Теперь о версии: nv4Flash предназначена для карт на базе TNT, nv5Flash – на базе TNT2, nvFlash – на базе GeForce2, nvFlash 4.12 поддерживает GeForce 4.
Теперь создадим загрузочную дискету средствами ОС. Копируй туда прошивальщик и сам old.rom. Класть все необходимо в корневой каталог! Прошивальщик можно переименовать во что-то более простое (например, a.exe), чтобы удобнее было использовать консольные команды. Также на всякий случай скачай DOS-Extender DOS4GW (оттуда же) - он необходим для корректной работы прошивальщика - и тоже помести в корневой каталог. Выставь загрузку с Floppy в BIOS'е мат. платы и перезагружай компьютер. После перезагрузки с дискеты, пиши в командной строке: nvflash old.rom (nvflash - название прошивальщика, old.rom – файл со старой версией BIOS'а видеоадаптера). Эта команда запускает перепрошивку Flash EEPROM видеокарты старой версией BIOS'а. Если программа сразу же завершится с сообщением: "EEPROM not found", то этот прошивальщик тебе не подходит, пробуй другой. Если ни одна утилита не подходит, то стоит убедиться, что у тебя вообще Flash EEPROM. Если на дисплей была выведена информация из BIOS'а видеокарты, и поступил запрос на подтверждение перепрошивки, то прошивальщик – в порядке.
АВАРИЙНАЯ ДИСКЕТА
Перезагрузись в Windows. На загрузочной дискете с прошивальщиком и старой версией BIOS'а очищай (полностью) системные файлы autoexec.bat и config.sys. Теперь туда необходимо записать следующие строки (естественно, без наших комментариев):
листинг
autoexec.bat:
CLS // очистка экрана
PROMPT $p$g // описывает вид приглашения DOS’а
GOTO %CONFIG% // устанавливает связь с config.sys
:success // метка перехода из %config%
GOTO end // завершение скрипта
:failed // метка перехода из %config%
nvflash old.rom // вызов прошивальщика
GOTO End // завершение скрипта
:end // метка END
config.sys:
[Menu] // описывается вид меню
MENUITEM = success, Cancel // определяет внутреннее название, которое будет использоваться в config.sys и autoexec.bat. После запятой – название пункта в меню.
MENUITEM = failed, Flash backup BIOS! // аналогично
MENUDEFAULT = failed, 10 // пункт меню, который будет выбран по умолчанию. После запятой ставится время в секундах, для задержки меню.
[success]
[failed]
Внимание! Загрузка с дискеты должна стоять на протяжении всей операции смены BIOS'а!
Аварийная дискета готова. Теперь, если BIOS будет прошит неудачно, необходимо загрузиться с дискеты в DOS. Сразу же появится "Startup menu" (похожее меню появляется при выборе способа загрузки ОС после аварийного завершения работы Windows), где будет предложено прошить BIOS на старую версию или отменить операцию.
Обрати внимание, если ты прошил BIOS неудачно, то ты просто-напросто ничего не увидишь на экране. Именно поэтому мы создали автоматический запуск перепрошивки на старую версию BIOS'а через 10 секунд после появления меню и установили загрузку с дискеты в BIOS'е материнской платы. Таким образом, если не будет нажата ни одна клавиша, через 10 секунд запустится прошивальщик и прошьет старую прошивку самостоятельно (все это время на мониторе не будет ничего, так как видеокарта прошита с ошибкой и не функционирует). Чтобы все заработало, у прошивальщика должно быть имя – nvflash, а у файла со старой версией BIOS'а – old.rom (либо правь по-своему исходник автоэкзека).
ПОИСК НУЖНОЙ ВЕРСИИ BIOS'А
Чтобы найти нужный BIOS, надо узнать производителя и модель видеокарты, а также версию BIOS'а. Информация о производителе и модели видеоадаптера указана в документации, а информацию о версии прошивки можно получить несколькими способами: посмотреть при загрузке компьютера, воспользоваться специальной утилитой или средствами Windows. В свойствах рабочего стола на закладке "Параметры" нажми кнопку "Дополнительно". На закладке "Адаптер" обычно указана версия BIOS'а.
Начать поиск новой версии BIOS'а стоит на сайте производителя. Также помогут форумы. nVidia обозначает свои BIOS'ы набором цифр "CC.cc.mm.ee.oo", где "oo" - OEM-версия. Другие производители обозначают по-другому.
РЕДАКТИРОВАНИЕ BIOS'А
Утилита nVidia BIOS Editor, с помощью которой мы сохранили в файл уже имеющийся BIOS, также предназначена для редактирования BIOS'а. Вот какие параметры видеоадаптера она поможет настроить:
1. Device ID и Sub Vendor ID. В базе программы содержится более 1500 производителей и ID. Также можно поменять Sub Device ID.
2. Информация, отображаемая при загрузке компьютера (пропускать определение DDC мониторов, разрешить вывод сообщения о количестве памяти, разрешить выводить основную надпись, сброс флага, отвечающего за вывод строки об инженерном релизе).
3. Содержание строки сообщения о видеокарте, а также ее цвет. Содержание сообщения о версии BIOS. Также можно изменить и две последних цифры настоящей версии BIOS, то есть во всех просмотрщиках версии BIOS будет отображаться именно это значение. Кроме того, настраивается время задержки при загрузке.
4. Статус SBA и FastWrites. Эти опции работают не везде и не всегда. Они присутствуют во всех версиях BIOS'ов под все современные карты, но из-за аппаратных особенностей определенных карт включение или выключение их не приведет ни к чему.
5. Инициализационные частоты памяти и GPU (Graphic Processor Unit – графический процессор). Это основные параметры, влияющие на скорость. Зависимость для каждой конкретной карты разная. Если на старых картах увеличение скорости GPU не приводило к большому повышению производительности, то на новых GF3/GF4, наоборот, повышение GPU дает очень ощутимый прирост. Для старых карт, соответственно, важна скорость памяти. К сожалению, универсальной информации по разгону видеокарты не существует, поэтому необходимо искать рекомендации по конкретной плате, либо экспериментальным путем добиваться компромисса между GPU и памятью. Также не стоит забывать об охлаждении.
6. Шрифты. Эта вкладка необходима для русификации интерфейса видеокарты.
По словам Ray Adams (автора программы) нововведений пока не ожидается, тем более, что еще не до конца поддерживаются BIOS'ы последних видеокарт.
При запуске программа считывает все настройки и отображает их в соответствующих пунктах графического интерфейса. Теперь можно отредактировать необходимые параметры и сохранить полученный файл BIOS'a, скажем, в new.rom. Остается только перепрошить! Другими словами, эта программа – генератор BIOS'ов. Именно с помощью нее нам удалось поменять надпись, выводимую при загрузке компьютера.
ПРОВЕРКА BIOS'А НА ВАЛИДНОСТЬ
Прежде чем ставить новый BIOS, надо проверить, а подходит ли он? В этом нам поможет весьма полезная утилита VGABios. Она представляет собой динамически загружаемый драйвер, который после загрузки системы перезаписывает ту область оперативной памяти, где кэшируется BIOS, при этом мы ничего не перепрошиваем!
Именно эта программа и является вторым способом обойти недостатки видеокарты, если EEPROM неперепрошиваем (мы обещали рассказать об этом в начале статьи).
Для загрузки этого драйвера нужно сделать следующее:
1. В файл autoexec.bat вставить строку "VGABIOS -fnew.rom" (без пробела между "–f" и "new.rom"), где new.rom – файл тестовой версии BIOS'а.
2. Переместить саму программу и файл с нужной версией BIOS'а в директорию, в которой находится файл autoexec.bat.
3. Перезагрузить компьютер.
Если компьютер загрузился нормально, то все в порядке, и можно прошивать BIOS, если нет, то просто перезагрузись с загрузочной дискеты, чтобы подправить autoexec.bat (удалить оттуда строку "VGABIOS -fnew.rom").
ПРОШИВАЕМ
Вот мы и дошли до самой легкой части :)! Подготовка к перепрошивке занимает минут 10, а сам процесс 10 секунд! Новый BIOS мы уже нашли, отредактировали его BIOS Editor'ом и, таким образом, получили финальную версию new.rom. Прошивальщик выбран и проверен. Так что вперед!
Создавай еще одну загрузочную дискету (одна, аварийная, у нас уже есть на всякий случай), копируй туда прошивальщик, DOS-Extender и файл нового BIOS'а (все в корневую директорию). Перезагружайся с дискеты и в консоли запускай nvflash следующей командой: nvflash new.rom.
Дальнейшему процессу мешать не надо :). Прошивальщик проверит EEPROM - прошиваемый ли он? Потом спросит разрешение на прошивку (необходимо ввести: YES). Изображение пропадет на 10 секунд - за это время очистится Flash EEPROM и запишется новый BIOS.
ВЫВОДЫ
Вот мы и прошили видеоадаптер. Как видно, процесс этот не сильно затруднителен и при должном внимании – вполне безопасен. После перепрошивки, как правило, особых улучшений не чувствуется. Хотя очень многие пользователи успешно увеличивали производительность повышением частот памяти.
На самом деле, перепрошивка BIOS'а - не такой уж и сложный процесс, особенно если соблюдать меры предосторожности.
С появлением Flash-memory (Flash EEPROM) стало возможно перезаписывать BIOS многократно, используя всего лишь программу–прошивальщик.
Самая веская причина прошивки BIOS'а – конфликты устройства в конкретной конфигурации. Не самая веская, но самая популярная причина – желание поменять информацию о видеокарте, а также немного разогнать ее.
Чтобы прошить BIOS надо: 1) найти его; 2) сделать backup старой версии; 3) проверить новый BIOS на работоспособность без перепрошивки микросхемы; 4) в случае успеха прошить новый BIOS.
Проверить BIOS на совместимость поможет динамически загружаемый драйвер, перезаписывающий после загрузки системы область оперативной памяти, где кэшируется BIOS. Сбой говорит о том, что BIOS не соответствует.
Процесс перепрошивки занимает всего 10 секунд. Зато сколько занимают приготовления!
В большинстве случаев перепрошивка не дает большого прироста в производительности, тем более, что производительности современных карт и так хватает.
Полезные ссылки:
http://www.nvworld.ru – неофициальный сайт поддержки видеокарт на базе GPU nVidia. Здесь можно найти весь софт, описанный в статье, и конференцию, где можно задать вопрос лично автору программы nVidia BIOS Editor.
http://forum.ixbt.com/?id=10 – форум, где могут оказать помощь с поисками софта и прошивок.
http://www.radeon2.ru – неофициальный сайт поддержки видеокарт на базе GPU ATI. Здесь есть различные версии BIOS'ов и прошивальщики.
http://www.x86-secret.com/articles/nvbios.htm - здесь можно найти BIOS'ы и прошивальщики (сайт на французском языке).
http://bios.ru/video/ - огромный каталог производителей видеокарт.
http://www.ixbt.com/video/videoadapter.html - каталог производителей, есть ссылки и на русскоязычные сайты.